Sample: dhtmlxFolders Filtering items dhtmlxFolders main page
X
Filter by Size (greater than, bytes) without preserving previous filters
Filter by Name (starts with) preserving previous filters
Clear All Filters

Filtering state remains while changing types

F-icon
F-tiles
F-table
 
<div id="folders_container" style="width:400px;height:300px;overflow:hidden;"></div>
    
<script>
 
    //filter items by attribute "name" (name starts with, case insens.)
    function filterItemsByName(obj,mask){
        var aName = obj.data.dataObj.getAttribute("name");
        return (aName.toString().toLowerCase().indexOf(mask.toString().toLowerCase())==0 || mask=="");
    }
    //filter items by value of subtag "filesize" (greater than)
    function filterItemsBySizeGT(obj,mask){
        try{
            var objSize = parseInt(obj.data.dataObj.getElementsByTagName("filesize")[0].firstChild.nodeValue);
        }catch(e){
            var objSize = 0;
        }
            return (objSize>mask);
    }
    
    //filter by size greater than [value]
    myFolders.filterItems(filterItemsBySizeGT,parseInt(prompt()))
    //add filter by name starts with [value]
    myFolders.filterItems(filterItemsByName,prompt(),true)
    
    //clear filters
    myFolders.filterClear();
</script>